from flask import Flask
from flask import render_template
from flask import url_for
from flask import jsonify
from flask import request,json
from werkzeug.utils import  secure_filename

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World'



@app.route('/user/<name>')
def username(name):
    return '<h1>hello,%s</h1>' % name


@app.route('/url/')
def redirect_to_url():
    return url_for('post_show',post_id = 666)


@app.route('/post/<int:post_id>')
def show_psot(show_id):
    return 'Post ID : %d' %show_id


@app.route('/getJson')
def getJson():
    data = {
        "name": "张三",
        "sex": "男",
        "age": "18",
        "address": "xxxxxxxxx"
    }
    return jsonify(data)

#get传参
@app.route('/login',methods=['GET'])
def login():
    if request.method == 'GET':
        print("当前请求方法是GET")
        username = request.args.get("username")
        address = request.values.get("address")

        date = {
            "username" : username,
            "address" : address
        }

        print(date)
        return jsonify(date)

#传递json
@app.route('/passJson',methods=['POST'])
def passJson():
    data = json.loads(request.get_data(as_test = True))
    #写业务程序
    return jsonify(data)


#文件上传
#步骤1，创建路由，创一个到静态文件的路由
@app.route('/upload/index')
def toUploadPage():
    return render_template('upload.html')

#步骤2,静态文件中有文件上传功能，点击该功能上传文件
@app.route('/upload',methods=['POST'])
def upload():
    if request.method =='POST':
        file = request.files['file']
        print(request.files)

        file.save(secure_filename(file.filename))
        #可以做其他业务，如人脸识别
        return "文件上传成功！！！"
    else:
        return render_template('upload.html')

if __name__ == '__main__':
    app.debug = True
    app.run()